All courses
EMB 205
Term 3
4 credits
Peripheral Interfaces and Serial Buses
Students will explore various protocols like UART, SPI, and I2C, learning how to select, implement, and troubleshoot communication between microcontrollers and external devices. Practical lab exercises will focus on hands-on development, enabling students to integrate sensors, displays, and other peripherals using standard interface technologies.
Prerequisites
Course outline
Lectures, virtual labs, and graded assignments — completed in your browser.
01Introduction to Embedded Communicationlecture
02Asynchronous Serial Communication (UART/USART) Principleslecture
03UART Lab: Basic Serial Data Transmissionlab
04Synchronous Serial Interface (SPI) Principleslecture
05SPI Lab: Interfacing with an External Sensorlab
06Inter-Integrated Circuit (I2C) Principleslecture
07I2C Lab: Controlling an LCD or EEPROMlab
08Assignment 1: Peripheral Driver Developmentassignment
09Advanced Serial Communication Topics: RS-232/RS-485lecture
10Introduction to USB and Host/Device Communicationlecture
11Controller Area Network (CAN) Bus Basicslecture
12Ethernet and Networking Fundamentals for Embedded Systemslecture
13Comprehensive Midterm Reviewlecture
14Final Exam Review and Course Wrap-uplecture
Syllabus
### EMB 205 Peripheral Interfaces and Serial Buses (4 credits) **Course Description:** This course delves into the critical world of peripheral interfaces and serial communication buses, which are the backbone of modern embedded systems. Students will gain a deep understanding of how microcontrollers interact with a wide array of external components such as sensors, actuators, memory, and displays. Topics covered include asynchronous serial communication (UART/USART), synchronous serial interfaces (SPI, I2C), USB basics, and an introduction to higher-level protocols like CAN and Ethernet. Through a combination of lectures, demonstrations, and extensive hands-on laboratory exercises, students will develop practical skills in interfacing hardware, writing driver software, and debugging communication issues, preparing them for real-world embedded systems development. **Learning Outcomes:** * Analyze and select appropriate serial communication protocols (e.g., UART, SPI, I2C) for specific embedded system applications based on technical requirements. * Implement and debug software drivers for various peripheral devices using standard serial interfaces on a microcontroller platform. * Design and test hardware connections between microcontrollers and external sensors, actuators, and memory devices. * Utilize common embedded development tools, including oscilloscopes and logic analyzers, to diagnose and resolve communication issues. * Evaluate and apply basic concepts of higher-speed and network-oriented communication protocols such as USB, CAN, and Ethernet within an embedded context. **Assessment Breakdown:** * Lab Exercises (5 total): 40% * Programming Assignments (2 total): 20% * Midterm Exam: 20% * Final Exam: 20% **Policies:** * **Attendance:** Regular attendance is expected. Students are responsible for all material covered in class, regardless of attendance. * **Late Work:** Assignments submitted late will incur a penalty of 10% per day, up to a maximum of 5 days, after which they will not be accepted unless prior arrangements are made with the instructor due to documented extenuating circumstances. * **Academic Integrity:** All work submitted must be original. Plagiarism or any form of academic dishonesty will result in a zero for the assignment and may lead to further disciplinary action as per college policy. * **Disability Services:** Students with disabilities requiring accommodations should contact the Disability Services office to arrange for appropriate support.